// 登录请求参数
export  interface LoginUserReq {
  UserName: string
  PassWord: string
  // 社交平台类型
  SocialType?: number
  // 社交平台授权码
  SocialCode?: string
  // 社交平台授权码
  SocialState?: string
  // 验证码
  Captcha: string
  // 租户ID
  TenantId: string
}



// 登录请求响应参数
export interface LoginUserResp {
  Token: string
  RefreshToken?: string
  UserId: string
  UserName: string
  TenantId?: string
  TenantName?: string
  Avatar?: string
  Roles?: string[]
  ExpiresIn: number
}


// 注册用户请求
export interface RegisterUserReq {
  UserName: string //用户名
  PassWord: string //密码
  Email: string  //邮箱
  Mobile: string  //手机号
  FullName: string //姓名
  ConfirmPassword: string //确认密码
  TenantDomain?: string //租户域名
  TenantName?: string //租户名称
}

// 注册用户响应参数
export interface RegisterUserResp {
  Ok: boolean
  Message: string
}

// 短信登录请求参数
export interface SmsLoginReq {
  Mobile: string
  SmsCode: string
}
// 短信登录响应参数
export interface SmsLoginResp {
  Token: string
  RefreshToken?: string
  UserId: string
  UserName: string
  TenantId?: string
  TenantName?: string
  Avatar?: string
  Roles?: string[]
  ExpiresIn: number
}


// 社交登录请求参数
export interface SocialLoginReq {
  Type: string,
  Code: string,
  State: string
}

export interface SocialLoginResp {
  Token: string
  RefreshToken?: string
  UserId: string
  UserName: string
  TenantId?: string
  TenantName?: string
  Avatar?: string
  Roles?: string[]
  ExpiresIn: number
}

// 社交登录跳转链参数
export interface SocialAuthRedirectReq {
  Type: number,
  Redirect: string
}
export interface SocialAuthRedirectResp {
  Url:string
}

//  检查用户名合法性
export interface CheckUserNameExistReq {
  UserName: string
}
// 检查用户名合法性响应参数
export interface CheckUserNameExistResp {
  Ok: boolean
  Message: string
}

// 检查手机号可用性
export interface CheckMobileExistReq {
  Mobile: string
}
export interface CheckMobileExistResp {
  Ok: boolean
  Message: string
}

// 检查邮件是否可用
 export interface CheckEmailExistReq {
  Email: string
}
export interface CheckEmailExistResp {
  Ok: boolean
  Message: string
}


// 用户登录参数
export interface LoginFromParam {
  // 用户名
  UserName: string
  // 密码
  PassWord: string
  // 是否记住密码
  RememberMe: boolean
  // 租户ID
  TenantId?: string
  // 租户名称
  TenantName?: string
  // 验证码
  CaptchaVerification?:string
  // 社会类型
  SocialType?:number
  // 社会平台授权码
  SocialCode?:string
  // 社会平台状态码
  SocialState?:string
  // 手机号
  Mobile?:string
  // 短信验证码
  SmsCode?:string
}


export interface LoginSmsFromParam {
  // 手机号
  Mobile: string
  // 短信验证码
  SmsCode: string
  // uuid
  Uuid?: string
  TenantName: string
}